import json
import os

# 定义文件路径
file_path = 'test.json'
#'test.json' 是一个相对路径，表示文件 test.json 位于当前工作目录下
# 读取商品信息
def load_pro_info(file_path):#作用为读取文件到字典
#定义一个load_pro_info函数，接收一个参数，file_path表示文件路径
    if os.path.exists(file_path):
        #如果文件存在，则读取文件内容
        with open(file_path, 'r', encoding='utf-8') as file:
            return json.load(file)
        # 使用json模块的load函数读取文件内容，并返回一个字典
    else:
        return {}
#不存在返回空值

pro_info = load_pro_info(file_path)
#定义pro_info为load_pro_fo(file_path)函数返回的字典

# 写入商品信息
def save_pro_info(file_path, pro_info):#作用为写入字典到文件
#定义一个save_pro_info函数，接收两个参数，file_path表示文件路径，pro_info表示商品信息
    with open(file_path, 'w', encoding='utf-8') as file:
        file.write(json.dumps(pro_info, ensure_ascii=False, indent=4))
        #使用json模块的dumps函数将字典转换为JSON字符串，并写入文件
        #json.dump(pro_info, file, ensure_ascii=False, indent=4)另外一种写法

# 主程序
a = input("请输入用户名:")
b = input("请输入密码:")
if a == 'root' and b == '123456':
    text = "欢迎来到三创系统"
    print(text.center(50, "#"))

    while True:
        print("1,添加商品")
        print("2,查看商品")
        print('3,删除商品')
        print("4,修改商品")
        print("5,退出")
        choice = input("请输入你的选择:")

        if choice == "1":
            pro_name = input("请输入商品的名字:")
            if pro_name in pro_info:
                print("商品已存在不能添加！")
            else:
                pro_price = input("请输入商品的价格:")
                pro_stock = input("请输入商品的库存:")
                pro_info[pro_name] = {"价格": pro_price, "库存": pro_stock}
                save_pro_info(file_path, pro_info)
                #添加商品并将此次操作保存到文件中
                print("商品添加成功！")

        elif choice == "2":
            tj = input("请输入商品名称:")
            if tj in pro_info:
                print(f"{tj}-->{pro_info[tj]}")
            else:
                print("查看失败商品不存在")

        elif choice == "3":
            good_name = input("请输入要删除商品的名称:")
            if good_name in pro_info:
                sc_name = pro_info.pop(good_name)
                save_pro_info(file_path, pro_info)
                # 删除商品并将此次操作保存到文件中
                print(f"删除商品成功,商品信息为: {good_name} {sc_name}")
            else:
                print("删除商品失败")

        elif choice == "4":
            goods_name = input("请输入要修改的商品名称:")
            if goods_name in pro_info:
                new_price = input("请输入修改后的商品价格:")
                new_stock = input("请输入修改后的商品库存:")
                pro_info[goods_name] = {"价格": new_price, "库存": new_stock}
                save_pro_info(file_path, pro_info)
                # 修改商品并将此次操作保存到文件中
                print("修改商品成功")
            else:
                print("没有该商品")

        elif choice == "5":
            print("登出")
            break

else:
    print("登陆失败")

